package com.sz.admin.vehicleinfo.pojo.vo;

import com.mybatisflex.annotation.ColumnAlias;
import com.sz.admin.system.pojo.po.SysDept;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.time.LocalTime;

import cn.idev.excel.annotation.ExcelIgnore;
import cn.idev.excel.annotation.ExcelProperty;
import com.sz.excel.annotation.DictFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * VehicleInfo返回vo
 * </p>
 *
 * @author sz-admin
 * @since 2025-08-29
 */
@Data
@Schema(description = "VehicleInfo返回vo")
public class VehicleInfoVO {

    @ExcelIgnore
    @Schema(description =  "id")
    private Long id;

    @ExcelProperty(value = "车辆编号")
    @Schema(description =  "车辆编号")
    private String vehicleNumber;

    @ExcelProperty(value = "名称")
    @Schema(description =  "名称")
    private String title;

    @ExcelProperty(value = "司机名称")
    @Schema(description ="司机名称")
    private String driverName;

    @ExcelProperty(value = "司机名称2")
    @Schema(description ="司机名称2")
    private String driverName2;

    @ExcelProperty(value = "司机名称3")
    @Schema(description ="司机名称3")
    private String driverName3;

    @ExcelProperty(value = "司机名称")
    @Schema(description ="司机名称")
    private String dName;

    @ExcelProperty(value = "司机名称2")
    @Schema(description ="司机名称2")
    private String dName2;

    @ExcelProperty(value = "司机名称3")
    @Schema(description ="司机名称3")
    private String dName3;

    @ExcelProperty(value = "司机手机号")
    @Schema(description ="司机手机号")
    private String driverPhone1;

    @ExcelProperty(value = "司机手机号2")
    @Schema(description ="司机手机号2")
    private String driverPhone2;

    @ExcelProperty(value = "司机手机号3")
    @Schema(description ="司机手机号3")
    private String driverPhone3;

    @ExcelProperty(value = "排序")
    @Schema(description =  "排序")
    private Integer sort;

    @ExcelProperty(value = "车辆类型 （字典表vehicle_type）")
    @DictFormat(dictType = "vehicle_type")
    @Schema(description =  "车辆类型 （字典表vehicle_type）")
    private String vehicleTypeCd;

    @ExcelProperty(value = "是否隐藏")
    @Schema(description =  "是否隐藏")
    private String isHidden;

    @ExcelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description =  "创建时间")
    private LocalDateTime createTime;

    @ExcelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description =  "更新时间")
    private LocalDateTime updateTime;

    @ExcelProperty(value = "创建人ID")
    @DictFormat(dictType = "dynamic_user_options")
    @Schema(description =  "创建人ID")
    private Long createId;

    @ExcelProperty(value = "更新人ID")
    @DictFormat(dictType = "dynamic_user_options")
    @Schema(description =  "更新人ID")
    private Long updateId;

    @ExcelProperty(value = "部门id")
    @Schema(description =  "部门id")
    private Long departmentId;
    private Long deptId;

    @Schema(description =  "排班id")
    private Long scheduleId;

    @Schema(description = "关联的部门信息")
    private SysDept department;

    @Schema(description = "部门PID")
    private Long deptPid;

    @Schema(description = "部门名称")
    private String deptName;

    @Schema(description = "顶级部门（公司）名称")
    private String topDeptName;

    @Schema(description = "顶级部门（公司）名称")
    private String parentDeptName;

    @Schema(description = "公司名称")
    private String fullDeptName;

    @Schema(description = "排班时间")
    private String scheduleName;

    @ExcelProperty(value = "排班时间")
    @Schema(description =  "排班时间")
    private LocalTime scheduleTime1;

    @ExcelProperty(value = "排班时间")
    @Schema(description =  "排班时间")
    private LocalTime scheduleTime2;

    @ExcelProperty(value = "排班时间")
    @Schema(description =  "排班时间")
    private LocalTime scheduleTime3;

    @ExcelProperty(value = "排班类型")
    @DictFormat(dictType = "schedule_type")
    @Schema(description =  "排班类型")
    private String scheduleType;
}